package com.ai.zhly.task;

import java.util.Map;

import org.apache.log4j.Logger;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.ai.dmc.index.common.cache.DataTimeCache;
import com.ai.dmc.index.common.util.DateUtil;
import com.ai.zhly.service.ICommonService;


/**
 * @Description : 数据刷新时间任务
 * 
 * @author : wucm
 * @date : 2015年8月28日 上午11:16:10
 * @version V1.0
 * 
 */
public class DataTimeTask{
	private static Logger logger = Logger.getLogger(DataTimeTask.class);
	private static boolean executeFlagDataTime = false;// 防止多次执行
	
	private ICommonService commonService;
    
    public void setCommonService(ICommonService commonService) {
		this.commonService = commonService;
	}

	public void execute() {
		if (executeFlagDataTime) {
			return;
		}

		executeFlagDataTime = true;

		logger.debug("dim_data_time任务开始时间："
				+ DateUtil.getInstance().getToday("yyyy-MM-dd hh:mm:ss"));

		// 加载数据刷新时间缓存
		loadDataTimeCache();

		executeFlagDataTime = false;
	}

	/**
	 * 
	 * @Description : 加载数据刷新时间缓存
	 * 
	 * @return JSONObject
	 * 
	 * @author : wucm
	 * @date : 2015年11月8日 下午4:28:13
	 * 
	 */
	@SuppressWarnings("unchecked")
	private void loadDataTimeCache() {
		
		Map<String, String> rMap = commonService.queryDataTime();
		if (rMap!=null) {
			DataTimeCache.dataTimeCache.putAll(rMap);

			// 设置缓存刷新时间
			String cacheTime = DateUtil.getInstance()
					.getToday("yyyy-MM-dd HH:mm:ss");
			DataTimeCache.dataTimeCache.put(DataTimeCache.CACHE_TIME, cacheTime);
		}
	}
}
